package fnic.prehand.augment;

import java.util.Arrays;

/**
 * 流记录的实体类， 采用 原始流记录(number[] & string[]) 与 扩维流记录(string [] ) 格式存放
 * 因为PM数据中有些是字符串类型的，所以这里就直接用str_oldFlow封装PM的原始流数据了
 * @author Wu
 */
public class Flow {
	
	/**存放原始流记录数据的字段(仅对于tbl_ori_flow_ipv4)
	 * 字段说明：
	 *  [0]  : RecordTime   [1] :  LinkID                     [2]  :SourceIP               [3] :DestinationIP
	 *  [4]  : SourcePort     [5] :  DestinationPort     [6]  :ProtocolID            [7] :PacketsIn
	 *  [8]  : PacketsOut     [9] :  BytesIn                   [10]:BytesOut               [11]:TocIn
	 *  [12]: TocOut            [13]: AppType                 [14]:FlowDirection       [15]:StartTime
	 *  [16]: endTime          [17]: FlowId                     [18]:DeveiceID    
	 */
    public long [] num_oldFlow;
    
//    public String [] str_oldFlow;
    
    /**存放扩维后的数据字段(仅对于tbl_ori_flow_ipv4)
     * 字段说明：
     * [0](19) : ProtocolName       [1](20)  : ProtocolGroupID      [2](21): ProtocolGroupName
     * [3](22)  : UserGroupID       [4](23) : UserGroupName       [5](24): UserID
     * [6](25)  : UserName            [7](26) : RegionID                   [8](27) : RegionName 
     * [9](28) :  CarrierID            [10](29)  : CarrierName          [11](30) : Custom
     * 
     */
    public String [] augFlow;
    
    public Flow clone(){
		Flow f = new Flow();
		if(this.num_oldFlow != null)
			f.num_oldFlow = Arrays.copyOf(this.num_oldFlow,this.num_oldFlow.length);
//		if(this.str_oldFlow != null)
//			f.augFlow = Arrays.copyOf(this.augFlow, this.augFlow.length);
		if(this.augFlow != null)
			f.augFlow = Arrays.copyOf(this.augFlow, this.augFlow.length);
		return f;
    }
}
